HEX
Server: Apache/2.4.68 (Debian)
System: Linux as-cs-widget-demo-us-central1 6.1.0-44-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.164-1 (2026-03-09) x86_64
User: root (0)
PHP: 8.2.32
Disabled: NONE
Upload Files
File: /var/www/html/wp-content/plugins/wp-recipe-maker/assets/js/blocks/shared/PostSelect.js
const {
    SelectControl,
} = wp.components;
const {
    Component,
} = wp.element;

import AsyncSelect from 'react-select/async';

export default class PostSelect extends Component {
    getPosts(search) {
        wp.apiFetch( { path: `/wp/v2/${this.props.type}?search=${ encodeURIComponent( search ) }` } ).then( posts => {
            const result = posts.map((post) => {
                return {
                    value: post.id,
                    label: post.title.rendered,
                }
            });

            return Promise.resolve(result);
        } ).catch( () => {
            return Promise.resolve({ options: [] });
        });
    }

    render() {
        return (
            <AsyncSelect
                className="wprm-shared-post-select"
                // placeholder={this.props.placeholder}
                value={null}
                onChange={this.props.onChange}
                defaultOptions={true}
                loadOptions={this.getPosts.bind(this)}
                clearable={false}
            />
        );
    }
}